Package-level declarations

Types

Link copied to clipboard
class ConfigurableModelProvider constructor(llms: List<LlmService<*>>, embeddingServices: List<<Error class: unknown class>>, properties: ConfigurableModelProviderProperties, roleResolvers: List<RoleResolver> = emptyList(), credentialLlmServiceFactories: List<CredentialLlmServiceFactory> = emptyList()) : ModelProvider

Take LLM definitions from configuration

Link copied to clipboard
data class ConfigurableModelProviderProperties(var llms: Map<String, String> = emptyMap(), var embeddingServices: Map<String, String> = emptyMap(), var defaultLlm: String = "gpt-4.1-mini", var defaultEmbeddingModel: String? = null, var roles: Map<String, Map<String, <Error class: unknown class>>> = emptyMap(), var credentialServiceCacheSize: Int = 500)

Configuration properties for the model provider

Link copied to clipboard
class ConfigurableRoleResolver(properties: ConfigurableModelProviderProperties, defaultProviderName: () -> String?) : RoleResolver

The platform's own RoleResolver, consulted after any the application registers.

Link copied to clipboard

Builds an LlmService from a user-supplied key.

Link copied to clipboard
interface ModelProvider

Provide AI models for requested roles, and expose data about available models.

Link copied to clipboard
data class ModelSelectionContext(val userId: String? = null, val credential: ProviderCredential? = null)

What a RoleResolver gets to decide with, beyond the role name itself.

Link copied to clipboard

Makes the ModelSelectionContext for the current call available to model resolution without threading it through every LLM API. Applications set it at their request boundary - a servlet filter, an interceptor, or around the code that starts an agent process.

Link copied to clipboard
data class ProviderCredential(val provider: String, val apiKey: String)

An API key for a named provider, supplied by a user rather than by deployment configuration.

Link copied to clipboard
sealed interface RoleResolution

What a role resolved to.

Link copied to clipboard
fun interface RoleResolver

Decides what a role means for a given call.